package com.the_last.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.the_last.pojo.po.ReservationTimeSlot;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ReservationTimeSlotMapper extends BaseMapper<ReservationTimeSlot> {
    /**
     * 获取指定日期和场馆的所有已预约时间段
     *
     * @param venueId         场馆ID
     * @param reservationDate 预约日期
     * @return 已预约的时间段ID列表
     */
    List<Integer> getOccupiedTimeSlots(@Param("venueId") Integer venueId, @Param("reservationDate") String reservationDate);
    
    /**
     * 批量插入预约时间段
     *
     * @param timeSlots 预约时间段列表
     * @return 影响的行数
     */
    int insertBatch(@Param("list") List<ReservationTimeSlot> timeSlots);
    
    /**
     * 获取预约的最大时间段ID
     *
     * @param reservationId 预约ID
     * @return 最大时间段ID
     */
    Integer getMaxTimeSlotIdByReservationId(@Param("reservationId") Long reservationId);
}